﻿namespace WLFramework.Reflection
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class TargetGetter
    {
        public string Name { get; set; }
        public GetValueDelegate Getter { get; set; }
        public Type ValueType { get; set; }

        public TargetGetter()
        {
        }

        public TargetGetter(string name, GetValueDelegate getter)
            : this(name, getter, null)
        {
        }

        public TargetGetter(GetValueDelegate getter, Type valueType)
            : this(valueType.Name, getter, valueType)
        {
        }

        public TargetGetter(string name, GetValueDelegate getter, Type valueType)
        {
            this.Name = name;
            this.Getter = getter;
            this.ValueType = valueType;
        }
    }
}
